1. Technical Field of the Invention
The present invention relates to an image generating system, and, more particularly, to a digital camera of the kind that produces a compressed image signal.
The digital camera utilizes a sensor for sensing an image and producing a first signal. A Bayer pattern producer is coupled to said sensor and operates to produce a Bayer pattern from said first signal. A splitter is provided to split said Bayer pattern into separate color channels. The color channels are then compressed into a compressed image which is output using an output interface on a communication channel.
2. Description of Related Art
Digital still cameras (DSC) generate a datafile that represents an image acquired by the camera. Generally, the DSC acquires the information from the light/color sensors in the camera in a camera filter array (CFA) format. A popular format for the CFA is a Bayer mosaic pattern layout, shown in FIG. 1. In a Bayer pattern, each pixel contains only one bit of color information, for instance, Red, Green or Blue. Typically, the Bayer pattern includes a green bit in every other space, and, in each row, either a blue or a red bit occupies the remaining space. For instance, as seen in FIG. 1, row one alternates between green and red bits, and row two alternates between green and blue. The end result is a mosaic made of red, green and blue points, where there are twice as many green points as red or blue.
A typical DSC is a stand-alone unit that includes all the circuitry and processes to create an image data file that represents an image. In addition to the sensors (typically charge coupled devices (CCDs) or CMOS circuits) that are used to create the Bayer pattern, DSCs include a mechanism to process the output from the CFA and turn it into a common data format, such as a JPEG (Joint Photographic Experts Group) file. These JPEG files can then be viewed with image programs, printed, stored, sent via email, etc. There are dozens of formats that can be used to store picture data, but the JPEG format is widely used because it creates a useable image with a small file size.
FIG. 2 is an example functional block diagram of a prior art DSC. Included in the camera 10 is a sensor 20 that is used to originally acquire an image. A pre-processing block 22 includes all of the phases used for image pre-elaboration prior to obtaining the Bayer pattern. Generally it is activated prior to and during the image acquisition time. Functions within the pre-processing block 22 can include white-balance, auto-exposure, defect correction, auto-focus, etc. The output from the pre-processing block 22 is the Bayer pattern of the image.
The Bayer pattern is input into an image processing pipeline 24, which includes color interpolation functions 26 and an RGB converter 28. Those functions will be examined in detail with reference to FIG. 3. The output from the image processing pipeline 24 is sent to a JPEG compressor 30, which compresses the image modified by the image processing pipeline. A JPEG image is sent from the JPEG compressor 30 to a set of I/O devices 32, which are used to send the JPEG file from the DSC to another device, for instance a computer, a disk or CD drive, a printer, etc.
FIG. 3 is an example functional block diagram showing components that can be in the image processing pipeline 24. As stated above, the image processing pipeline 24 receives as input the Bayer pattern from the sensors. Although the Bayer pattern is the output from the sensors, this raw output from the sensors is not in a useable form, because there are too many defects, deviations, etc. in the output, and the Bayer pattern output must be modified prior to producing a useable image.
Some of the processes that can be performed on the Bayer pattern are a white balance process 40, aperture or other defect correction 42, a color interpolation 44, and a color matrix 46, which can include changing an RGB image from the Bayer pattern to one that separates chrominance and luminance. For example, a color conversion can be made using the following equations:Y=0.299(R)+0.587(G)+0.114(B)Cb=0.5(R)−0.4187(G)−0.0813(B)+128Cr=−0.1687(R)−0.3313(G)+0.5(B)+128Where Y is the luminance value, and Cr and Cb are the color (chrominance) values, in amounts of redness and blueness, respectively.
Additionally, the image processing pipeline 24 can include a gamma correction circuit 48, which can use a look up table 50.
The final image quality output from the DSC essentially depends on the number and quality of the processes contained in the image processing pipeline 24, and their accuracy and complexity. To produce an image with no or few artifacts and a very high image quality, the image processing pipeline 24 will be very complex, expensive and take a lot of time to process the Bayer pattern.
FIG. 4 is an example functional block diagram of the JPEG compressor 30. Similar to the image processing pipeline 24, the quality of the JPEG 30 will depend on the number, complexity and quality of the components contained within it. Typically found in a JPEG compressor 30 are a discrete cosine transform (DCT) circuit 50, which feeds its output to a quantizer 52. The quantizer uses a table 54 to produce a signal fed to a Zig-Zag circuit 56. The output of the Zig-Zag circuit 56 flows to an entropy encoder 58, which, by using a Huffman table 60, creates the JPEG image of the DSC.
As can be seen from the number of components and processes used to create a JPEG image from a DSC, it is difficult to create an accurate image with a DSC, in part because of the expense of the components involved, and the execution time of the large number of processes that must occur to create the JPEG image. Fewer components would save expense to the DSC, but would result in lower JPEG picture quality. Long execution times are not favored because a user of the DSC may wish to take several photographs in a short amount of time, which would be impossible if the image processing pipeline 24 took too long on each image.
FIG. 5 is a graph showing relative example processing times for different functions in an image processing pipeline. While producing the Bayer pattern includes only a few operations and a moderate amount of data, the color interpolation requires a great amount of data and operations. At the end of the process the data are compressed according to the JPEG standard and transmitted according to the proprietary coding.
FIG. 6 shows a typical system 70 where an image is created in a DSC and then transmitted to another device. That FIGURE shows components that were seen in previous FIGURES, for example, the CCD generating an analog signal that is converted to a digital one prior to entering the image processing pipeline 24. Additionally, an encoder 72 prepares the data for transmission along a data channel 74. The data channel can be any transmission means, for example wired (Serial, LAN, USB), or wireless (IR, Bluetooth, cellular), and the like. On the other side of the data channel 74 is a decoder 76 and a digital to analog processor 78, which is used to create a useable image product from the transmitted data.
Conventional DSCs use a conventional color interpolation process to extend data from the CFA format to three color planes. After the color image generation, compression is performed to reduce the color plane data. As described above, the image processing pipeline in a DSC carries out heavy calculations that must be performed for a great amount of data.
FIG. 7 shows a transmission system 80 similar to the system 70 of FIG. 6. The transmission system 80 performs the color processing after sending the data over the data channel 74. In this system, the encoder 72 (which is generally some type of compression system) compresses the raw CFA format data prior to splitting it into separate color planes, etc. After the receiver receives and decompresses this data, it performs all of the steps described above that are usually performed by the DSC (white balance, gamma correction, etc.). This type of system 80 prevents the paradox in typical DSC systems, such as the one shown in FIG. 6, which is that after the color processing expands the amount of data received from the Bayer pattern, the compression algorithms (especially in lossy type systems such as JPEG) throw away some of that expanded data.
Few solutions use the method of the transmission system 80. One of the problems is in the way the source data is compressed. In a transmission system 80, if the data from the CFA or the Bayer pattern is immediately compressed with JPEG compression (in order to send it over the data channel 74) there is a problem with some of the parameters. Specifically, in the DTC process, there is a distortion of the DTC coefficient if this procedure is used. This prevents widespread use of the transmission system 80 because a quality image could not be produced on the receiving side of the channel due to the distortion.
Current DSC systems cannot take advantage of using a distributed approach to create images and other services. Generally, current DSCs are instead stand-alone devices that generate adequate image files, which can then be transmitted over a separate network.